package com.zone.service.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zone.common.core.annotation.Excel;
import com.zone.common.core.web.domain.BaseEntity;

/**
 * ATM钞箱管理对象 zone_atm_cassette
 * 
 * @author liuyang
 * @date 2025-10-30
 */
public class AtmCassette extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID，自增 */
    private Long id;

    /** 钞箱编号 */
    @Excel(name = "钞箱编号")
    private String cassetteId;

    /** ATM钞箱机构id, 外键关联ATMcasOrg表 */
    @Excel(name = "ATM钞箱机构id, 外键关联ATMcasOrg表")
    private Long orgId;

    /** ATM品牌ID, 外键关联ATMcasBand表 */
    @Excel(name = "ATM品牌ID, 外键关联ATMcasBand表")
    private Long cassetteBrandId;

    /** 钞箱类型 */
    @Excel(name = "钞箱类型")
    private String cassetteType;

    /** 钞箱状态 */
    @Excel(name = "钞箱状态")
    private String cassetteStatus;

    /** 条码状态 */
    @Excel(name = "条码状态")
    private String barcodeStatus;

    /** 打印时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "打印时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date printTime;

    /** 钞箱状态变更时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "钞箱状态变更时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cassetteStatusChangeTime;

    /** 入出库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inoutTime;

    /** 在库状态 */
    @Excel(name = "在库状态")
    private Long inoutStatus;

    /** 入出库调度者 */
    @Excel(name = "入出库调度者")
    private String inoutBy;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCassetteId(String cassetteId) 
    {
        this.cassetteId = cassetteId;
    }

    public String getCassetteId() 
    {
        return cassetteId;
    }

    public void setOrgId(Long orgId) 
    {
        this.orgId = orgId;
    }

    public Long getOrgId() 
    {
        return orgId;
    }

    public void setCassetteBrandId(Long cassetteBrandId) 
    {
        this.cassetteBrandId = cassetteBrandId;
    }

    public Long getCassetteBrandId() 
    {
        return cassetteBrandId;
    }

    public void setCassetteType(String cassetteType) 
    {
        this.cassetteType = cassetteType;
    }

    public String getCassetteType() 
    {
        return cassetteType;
    }

    public void setCassetteStatus(String cassetteStatus) 
    {
        this.cassetteStatus = cassetteStatus;
    }

    public String getCassetteStatus() 
    {
        return cassetteStatus;
    }

    public void setBarcodeStatus(String barcodeStatus) 
    {
        this.barcodeStatus = barcodeStatus;
    }

    public String getBarcodeStatus() 
    {
        return barcodeStatus;
    }

    public void setPrintTime(Date printTime) 
    {
        this.printTime = printTime;
    }

    public Date getPrintTime() 
    {
        return printTime;
    }

    public void setCassetteStatusChangeTime(Date cassetteStatusChangeTime) 
    {
        this.cassetteStatusChangeTime = cassetteStatusChangeTime;
    }

    public Date getCassetteStatusChangeTime() 
    {
        return cassetteStatusChangeTime;
    }

    public void setInoutTime(Date inoutTime) 
    {
        this.inoutTime = inoutTime;
    }

    public Date getInoutTime() 
    {
        return inoutTime;
    }

    public void setInoutStatus(Long inoutStatus) 
    {
        this.inoutStatus = inoutStatus;
    }

    public Long getInoutStatus() 
    {
        return inoutStatus;
    }

    public void setInoutBy(String inoutBy) 
    {
        this.inoutBy = inoutBy;
    }

    public String getInoutBy() 
    {
        return inoutBy;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("cassetteId", getCassetteId())
            .append("orgId", getOrgId())
            .append("cassetteBrandId", getCassetteBrandId())
            .append("cassetteType", getCassetteType())
            .append("cassetteStatus", getCassetteStatus())
            .append("barcodeStatus", getBarcodeStatus())
            .append("printTime", getPrintTime())
            .append("cassetteStatusChangeTime", getCassetteStatusChangeTime())
            .append("inoutTime", getInoutTime())
            .append("inoutStatus", getInoutStatus())
            .append("inoutBy", getInoutBy())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
